Evaluating the Use of Register Queues in Software Pipelined Loops

نویسندگان

  • G. X. Tyson
  • M. Smelyanskyi
  • Edward S. Davidson
چکیده

ÐIn this paper, we examine the effectiveness of a new hardware mechanism, called Register Queues (RQs), which effectively decouples the architected register space from the physical registers. Using RQs, the compiler can allocate physical registers to store live values in the software pipelined loop while minimizing the pressure placed on architected registers. We show that decoupling the architected register space from the physical register space can greatly increase the applicability of software pipelining, even as memory latencies increase. RQs combine the major aspects of existing rotating register file and register connection techniques to generate efficient software pipeline schedules. Through the use of RQs, we can minimize the register pressure and code expansion caused by software pipelining. We demonstrate the effect of incorporating register queues and software pipelining with 983 loops taken from the Perfect Club, the SPEC suites, and the Livermore Kernels. Index TermsÐSoftware pipelining, modulo variable expansion, rotating register file, register queues, VLIW, register connection.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Register Allocation and Optimal Spill Code Scheduling in Software Pipelined Loops Using 0-1 Integer Linear Programming Formulation

In achieving higher instruction level parallelism, software pipelining increases the register pressure in the loop. The usefulness of the generated schedule may be restricted to cases where the register pressure is less than the available number of registers. Spill instructions need to be introduced otherwise. But scheduling these spill instructions in the compact schedule is a difficult task. ...

متن کامل

Register Allocation for Software Pipelining with Predication using Spiral Graph

In this paper authors present Predicated Spiral Graph and Predicated Short Bridge Algorithm, that allocate registers to software pipelined loops with predication under the rotating register architectures. When using predication to execute the conditional branches, two separate variables in the pipelined kernel may share one real register, even if these overlap. Authors extend Spiral Graph to mu...

متن کامل

Software Pipelining of Loops with Early Exits for the ItaniumTM Architecture

The Itanium architecture contains many features to enhance parallel execution, such as an explicitly parallel (EPIC) instruction set, large register files, predication, and support for speculation. It also contains features such as register rotation to support efficient software pipelining of loops. Softwarepipelining techniques have been shown to significantly improve the performance of loop-i...

متن کامل

Using Sacks to Organize Registers in VLIW Machines

This paper analyses the register requirements of software pipelined inner loops. When the number of functional units and/or the number of stages of individual functional units is increased, the number of registers required may be prohibitive in chip area and cycle time. We characterize lifetime of values in pipelined loops with their loop register locality (LRL). Based on this characteristic, w...

متن کامل

Using the Meeting Graph Framework to Minimise Kernel Loop Unrolling for Scheduled Loops

This paper improves our previous research effort [1] by providing an efficient method for kernel loop unrolling minimisation in the case of already scheduled loops, where circular lifetime intervals are known. When loops are software pipelined, the number of values simultaneously alive becomes exactly known giving better opportunities for kernel loop unrolling. Furthermore, fixing circular life...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEEE Trans. Computers

دوره 50  شماره 

صفحات  -

تاریخ انتشار 2001